home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CU Amiga Super CD-ROM 21
/
CU Amiga Magazine's Super CD-ROM 21 (1998)(EMAP Images)(GB)[!][issue 1998-04].iso
/
CUCD
/
Programming
/
EasyPLUGINs
/
examples
/
dclistview_demo.e
next >
Wrap
Text File
|
1998-01-11
|
2KB
|
76 lines
OPT PREPROCESS, OSVERSION=37
MODULE 'tools/exceptions', 'tools/EasyGUI', 'exec/nodes', 'exec/lists',
'easyplugins/dclistview', 'tools/constructors', 'utility', 'utility/tagitem'
DEF result=-1
PROC main() HANDLE
DEF dclist:PTR TO dclistview_plugin
DEF list, a, nodes
IF (utilitybase:=OpenLibrary('utility.library', 37))=NIL THEN Raise("utlb")
list:=newlist()
nodes:=['zero','one','two','three','four','five','six','seven',
'eight','nine','ten','eleven','twelve','thirteen','fourteen']
ForAll({a}, nodes, `AddTail(list, newnode(NIL, a)))
NEW dclist.dclistview([PLA_DCListView_Label, 'L_abel',
PLA_DCListView_RelativeX, 15,
PLA_DCListView_RelativeY, 7,
PLA_DCListView_ExecList, list,
PLA_DCListView_Current, result,
PLA_DCListView_DoubleClick, {dc_listaction},
PLA_DCListView_Key, "a",
TAG_DONE])
easyguiA('Double Click test',
[EQROWS,
[DCLIST, {sc_listaction}, dclist, TRUE], ->note use OF ID constant (=PLUGIN)
[EQCOLS,
[SBUTTON, {okaction}, '_OK', dclist, "o"],
[SBUTTON, {disabler}, '_Disable', dclist, "d"],
[SBUTTON, {cancelaction}, '_Cancel', NIL, "c"]
]
])
EXCEPT DO
END dclist
IF exception<>"QUIT" THEN report_exception()
IF utilitybase THEN CloseLibrary(utilitybase)
ENDPROC
PROC sc_listaction(info, dclist:PTR TO dclistview_plugin)
PrintF('Current Selection: \d\n', dclist.get(PLA_DCListView_Current))
ENDPROC
PROC dc_listaction(dclist:PTR TO dclistview_plugin, current) IS okaction(dclist, NIL)
PROC okaction(dclist:PTR TO dclistview_plugin, info)
IF (result:=dclist.get(PLA_DCListView_Current))= -1
PrintF('No selection made\n')
cancelaction(info)
ENDIF
PrintF('Final Selection: \d\n',result)
quitgui(result)
ENDPROC
PROC disabler(dclist:PTR TO dclistview_plugin, info)
ENDPROC dclist.set(PLA_DCListView_Disabled, dclist.get(PLA_DCListView_Disabled)=FALSE)
PROC cancelaction(info)
PrintF('Operation cancelled.\n')
quitgui()
ENDPROC